package com.wocai.jrt.orgadmin.asset.service.spi;

import java.util.List;

import com.wocai.jrt.orgadmin.asset.bean.AssetAllocationBean;
import com.wocai.jrt.orgadmin.asset.bean.AssetAllocationHistoryResBean;
import com.wocai.jrt.orgadmin.asset.bean.AssetAllocationReqBean;
import com.wocai.jrt.orgadmin.asset.bean.AssetAllocationResBean;
import com.wocai.jrt.orgadmin.asset.model.AssetAllocation;
import com.wocai.jrt.orgadmin.flow.model.FlowLog;
import com.vteba.service.generic.MyBatisService;
import com.vteba.web.action.JsonBean;

/**
 * 资产配置相关的业务service接口。
 * @author yinlei
 * @date 2016-3-17 17:47:55
 */
public interface AssetAllocationService extends MyBatisService<AssetAllocation, AssetAllocationBean, String> {

	int countAssetAllocationResBeanList(AssetAllocationReqBean model);

	List<AssetAllocationResBean> getAssetAllocationResBeanList(
			AssetAllocationReqBean model);

	/** 
	* @Title: saveAssetAllocation 
	* @Description: 新增资产配置保存 
	* @Time:2016年4月13日 下午3:12:28
	* @param model
	* @return 
	* JsonBean    返回类型 
	*/
	JsonBean saveAssetAllocation(AssetAllocation model);

	/** 
	* @Title: submitAudit 
	* @Description: 资产配置提交审核 
	* @Time:2016年4月13日 下午3:11:53
	* @param id
	* @return 
	* JsonBean    返回类型 
	*/
	JsonBean submitAudit(String id);

	List<AssetAllocationHistoryResBean> getAssetAllocationHistory(String productId);

	int countAssetAllocationHistory(String productId);

	List<AssetAllocationBean> queryAssetAllocationList(AssetAllocationReqBean model);

	int countAssetAllocationBy(AssetAllocationReqBean model);

	/** 
	* @Title: voteHandle 
	* @Description: 个人表决 
	* @Time:2016年4月13日 下午3:11:30
	* @param flowLog
	* @return 
	* JsonBean    返回类型 
	*/
	JsonBean voteHandle(FlowLog flowLog);
	
	/** 
	* @Title: approveHandle 
	* @Description: 决策委员会负责人表决
	* @Time:2016年4月14日 上午9:37:39
	* @param flowLog
	* @return 
	* JsonBean    返回类型 
	*/
	JsonBean approveHandle(FlowLog flowLog);
	
	/** 
	* @Title: approveFinalHandle 
	* @Description: 终审人审批
	* @Time:2016年4月14日 下午4:28:21
	* @param flowLog
	* @return 
	* JsonBean    返回类型 
	*/
	JsonBean approveFinalHandle(FlowLog flowLog);
	
}
